package co.inventario.modelo.negocio;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;

import co.inventario.datos.sqlserver.CajaDAOSQLServer;
import co.inventario.entidad.CajaDTO;

public class CajaNegocio {

	public void crear(CajaDTO cajaDTO, Connection connection) throws Exception, SQLException {
		CajaDAOSQLServer cajaDAOSQLServer = new CajaDAOSQLServer();
		CajaDTO cajaDTOConsultado = cajaDAOSQLServer.consultarPorComprobante(cajaDTO, connection);
		if (cajaDTOConsultado == null) {
			cajaDAOSQLServer.crear(cajaDTO, connection);
		} else {
			throw new Exception("El comprobante de caja que intenta crear, ya existe.");
		}
	}

	public void actualizar(CajaDTO cajaDTO, Connection connection) throws Exception, SQLException {
		CajaDAOSQLServer cajaDAOSQLServer = new CajaDAOSQLServer();
		CajaDTO cajaDTOConsultado = cajaDAOSQLServer.consultarPorComprobante(cajaDTO, connection);
		if (cajaDTOConsultado == null) {
			cajaDAOSQLServer.actualizar(cajaDTO, connection);
		} else {
			throw new Exception("El comprobante de caja que intenta actualizar, no existe.");
		}
	}

	public CajaDTO consultarPorCodigo(CajaDTO cajaDTO, Connection connection) throws Exception, SQLException {
		CajaDAOSQLServer cajaDAOSQLServer = new CajaDAOSQLServer();
		CajaDTO cajaDTOConsultado = cajaDAOSQLServer.consultarPorCodigo(cajaDTO, connection);
		return cajaDTOConsultado;
	}

	public ArrayList<CajaDTO> consultarTodo(Connection connection) throws Exception, SQLException {
		CajaDAOSQLServer cajaDAOSQLServer = new CajaDAOSQLServer();
		ArrayList<CajaDTO> cajaDTOLista = cajaDAOSQLServer.consultarTodo(connection);
		return cajaDTOLista;
	}
}
